#! /bin/sh -f
# $Id$
#
# Checks one ore more ACE test log file(s) for expected results.

IFS="|"
tmp=/tmp

# These patterns must be contained in log file.
SUCCESS_MSGS="Starting|Ending"

# These patterns should not be contained in log file.
if [ "$1" != "log/Cached_Accept_Conn_Test.log" ]; then
  ERROR_MSGS="assertion failed|not supported|No such file or directory|Invalid argument|timeout|Bad file number"
else
  # "No such file or directory" is allowed in Cached_Accept_Conn_Test.log
  ERROR_MSGS="assertion failed|not supported|Invalid argument|timeout|Bad file number"
fi
status=0

for arg do
  for i in $SUCCESS_MSGS; do
    egrep $i $arg >/dev/null 2>&1
    if [ $? -eq 1 ]; then
      echo Error in $arg:  no line with $i
      status=1
    fi
  done

  for i in $ERROR_MSGS; do
    #### The /dev/null arg to egrep causes the filename to be printed
    #### out.  The sed command strips off the leading 'log/' and
    #### trailing '.log'.
    egrep $i $arg /dev/null | sed -e 's%^log/%%' -e 's%[.]log:%: %'
    if [ $? -ne 0 ]; then status=1; fi
  done
done

exit $status

# EOF
